/**
 * Project: IMPAuto SDK
 * Company: NavInfo Co.,Ltd.
 * All rights reserved
 * (c) Copyright 2020
 */

#ifndef __NAVINFO_IMPAUTO_COMMON_HPP__
#define __NAVINFO_IMPAUTO_COMMON_HPP__

#include <cstdint>

#if defined _WIN32 || defined __CYGWIN__
  #ifdef BUILDING_DLL
    #ifdef __GNUC__
      #define DLL_PUBLIC __attribute__ ((dllexport))
    #else
      #define DLL_PUBLIC __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
    #endif
  #else
    #ifdef __GNUC__
      #define DLL_PUBLIC __attribute__ ((dllimport))
    #else
      #define DLL_PUBLIC __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
    #endif
  #endif
  #define DLL_LOCAL
#else
  #if __GNUC__ >= 4
    #define DLL_PUBLIC __attribute__ ((visibility ("default")))
    #define DLL_LOCAL  __attribute__ ((visibility ("hidden")))
  #else
    #define DLL_PUBLIC
    #define DLL_LOCAL
  #endif
#endif


typedef		unsigned char			uchar;
typedef		unsigned short			ushort;
typedef		unsigned int			uint;
typedef		unsigned long			ulong;

#if defined( WIN32 )
typedef		unsigned __int64		uint64;
typedef		__int64					int64;
#else
typedef		unsigned long long		uint64;
typedef		long long				int64;
#endif

#ifndef __IOLIBCOMMON_HEADERALL_H_

    #ifndef PRAGMA_PACK_PUSH
    #define PRAGMA_PACK_PUSH
    #endif//PRAGMA_PACK_PUSH
    #ifndef PRAGMA_PACK_POP
    #define PRAGMA_PACK_POP
    #endif//PRAGMA_PACK_POP

    using namespace std;

    typedef shared_ptr< vector< char > >    CBuffer;

#endif //__IOLIBCOMMON_HEADERALL_H_

#include "IBaseInterface.h"
#include "ReturnCode_Struct.h"



#endif //__NAVINFO_IMPAUTO_COMMON_HPP__